﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SIGEB.Prototipo.Control;
using SIGEB.Modelo;
using Boleta;
using Impresion;
using System.Drawing.Printing;

namespace SIGEB.Prototipo.Vista.moduloPrestamosDevoluciones
{
    public partial class frm_VistaPrevia : frm_Base
    {

        #region "Atributos"

        object[] valoresPrestamo;
        BoletaPrestamo boleta;
        Impresiones i1;
        public String clasificacion;
        public String numAdqui;
        public String fechaPrestamo;
        public String fechaDevolucion;
        public String montoMulta;
        public String codigoDoc;
        public String idUsuario;
        public String titulo;
        public String nombre;
        public String tipoUsuario;
        public String autor;

        #endregion

        #region "Constructores"

        public frm_VistaPrevia()
        {
            InitializeComponent();
        }

        public frm_VistaPrevia(controlPrincipal cp)
            : base(cp)
        {
            InitializeComponent();
            asignarUI(this.Controls);
        }

        #endregion

        #region "eventos"

        public override void hacerVisible(object[] arg)
        {
            valoresPrestamo = arg;
            setValores();
            generarPreview();
        }

        public override void actualizar(object referencia, bibliotecaObservador.EventoActualizacion e)
        {
            int a = (int)referencia;
            if (a == conjuntoBase.CONJUSUARIOS)
            {

            }
        }

        private void tableLayoutPanel1_Paint(object sender, PaintEventArgs e)
        {

        }

        private void panel2_Paint(object sender, PaintEventArgs e)
        {
          
        }

        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            
        }

        private void button1_Click(object sender, EventArgs e)
        {
           
        }

        private void button1_Click_1(object sender, EventArgs e)
        {
            this.Close();
        }

        private void printPreviewControl1_Click(object sender, EventArgs e)
        {

        }

        private void frm_VistaPrevia_Load(object sender, EventArgs e)
        {

        }

        private void btn_Confirmar_Click(object sender, EventArgs e)
        {
            try
            {
                cp.ctrlPrestamo.crearPrestamo(idUsuario, numAdqui, DateTime.Parse(fechaDevolucion), montoMulta, codigoDoc);
                cp.ctrlReservas.eliminarReservaExistente(idUsuario, codigoDoc);
                cp.ctrlPrestamo.validaExistenciaPrestamo(numAdqui);
                MessageBox.Show("Préstamo realizado.");
                i1.imprimirDocumentos();
                this.Close();
            }
            catch (Exception a)
            { }
        }

        #endregion

        # region "Metodos"

        private void setValores()
        {
            numAdqui = valoresPrestamo[0].ToString();
            fechaPrestamo = valoresPrestamo[1].ToString();
            fechaDevolucion = valoresPrestamo[2].ToString();
            montoMulta = valoresPrestamo[3].ToString();
            codigoDoc = valoresPrestamo[4].ToString();
            idUsuario = valoresPrestamo[5].ToString();
            clasificacion = valoresPrestamo[6].ToString();
            titulo = valoresPrestamo[7].ToString();
            nombre = valoresPrestamo[8].ToString();
            tipoUsuario = valoresPrestamo[9].ToString();
            autor = valoresPrestamo[10].ToString();
        }

        public void generarPreview()
        {
            try
            {
                boleta = new BoletaPrestamo(clasificacion, numAdqui, autor, titulo, fechaPrestamo, fechaDevolucion, nombre, idUsuario, tipoUsuario, "..\\Resources\\logoICONO.bmp");
                boleta.simulacionMedidas();
                i1 = new Impresiones(boleta.GetWidth(), boleta.GetHeight());
                i1.agregarDocumentoImpresion(boleta);
                i1.visualizarBoleta(printPreviewControl1);
                printPreviewControl1.Zoom = 1;
                BringToFront();
            }
            catch (Exception e)
            { }
        }

        # endregion
    }
}
